package com.szeldon.declatest.declaration.settings;

import com.szeldon.utils.ValuesUtils;

/**
 * Class encapsulating settings for test suite.
 * 
 * @author szeldon
 * 
 */
public abstract class SettingsDeclaration {

    private String id;
    private String description;

    /**
     * Creates "Settings" element with id and description.
     * 
     * @param id
     * @param description
     */
    public SettingsDeclaration(String id, String description) {
        this.id = ValuesUtils.checkNamedValueForNull("id", id);
        this.description = ValuesUtils.checkNamedValueForNull("description", description);
    }

    /**
     * Returns name of a service that is required to run an endpoint connected with those settings.
     * 
     * @return
     */
    public abstract String getRequiredServiceName();

    public String getId() {
        return id;
    }

    public String getDescription() {
        return description;
    }

}
